﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BGCOP.CAVTOP.BUSINESSLAYER
{
    public class TiposVehiculo
    {
        /// <summary>
        /// lista todos los tipos de vehiculos existentes
        /// </summary>
        /// <returns></returns>
        public List<TipoVehiculo> ListarTodos()
        {
            masterDBACEntities db = new masterDBACEntities();
            var todos = from d in db.TipoVehiculo  select d;
            return todos.ToList();
        }
        public TipoVehiculo consulta(string tipo)
        {
            masterDBACEntities db = new masterDBACEntities();
            var todos = (from d in db.TipoVehiculo where d.NombreTipoVehiculo  == tipo select d).First();
            return todos;
        }
        public bool AgregarTipoVehiculo(string nombreTipoVehiculo, DateTime fechaUlt, int UsuarioAct)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TipoVehiculo te = new TipoVehiculo();
            te.NombreTipoVehiculo = nombreTipoVehiculo;
            te.fechaUltimaGestion = fechaUlt;
            te.usuarioUltimaGestion = UsuarioAct;
            db.AddToTipoVehiculo(te);
            db.SaveChanges();
            tmp = true;
            return tmp;
        }
        public bool ModificarTipoVehiculo(int id, TipoVehiculo nuevo)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();

            TipoVehiculo te = db.TipoVehiculo.FirstOrDefault(c => c.idTipoVehiculo == id);
            if (te != null)
            {
                te.NombreTipoVehiculo = nuevo.NombreTipoVehiculo;
                te.fechaUltimaGestion = nuevo.fechaUltimaGestion;
                te.usuarioUltimaGestion = nuevo.usuarioUltimaGestion;
                db.SaveChanges();
            }
            tmp = true;
            return tmp;
        }

        public bool EliminarTipoVehiculo(int id)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TipoVehiculo te = db.TipoVehiculo.FirstOrDefault(c => c.idTipoVehiculo == id);
            db.TipoVehiculo.DeleteObject(te);
            db.SaveChanges();
            tmp = true;
            return tmp;
        }

    }
}
